// 函数名规则
// 不能数字开头
// 字母_$
// 包含数字
// 小驼峰命名法
// 工具类命名 my_wonderful_test

// 函数声明
// function test(){
//   var a = 1,
//       b = 2;
//   var a = b = 1 // 实际var a = 1  b挂在全局上 
//   console.log(a,b);
// }

// 匿名函数表达式   函数字面亮
// var test =  function() { //=》 匿名函数
//   var a = 1,
//       b = 2;
//   console.log(a,b);
// }

// var a = {}
// test()


// function test() {
//   var a = 1,
//       b = 2;
//   console.log(a + b);
// }

// function test(a, b, c) {
//   console.log(a,b); // c undefined
// }

// // arguments 实参
// function test(a,b,c) {
//   console.log(a,b);
//   console.log(arguments);
// }

// test(1,2,3)

// 一个函数被调用，累加他的值
// function sum(){
//   var a = 0;
//   for(var i = 0; i < arguments.length; i++){
//     a += arguments[i]
//   }
//   console.log(a);
// }

// sum(1,2,3,4,5,6)



//形参和arguments是一一对应的
// function test(a, b){
//   b = 3;
//   console.log(arguments[1]); 
// }
// test(1)

// function test() {
//   console.log('我正在执行');
//   return // 终止函数执行
//   console.log('我没被执行');
// }

// // function test(name){
// //   if(!name){
// //     return null // return 返回数据并终止函数
// //   }
// //   return name
// // }

// // console.log(test('yang'));

// // b = 2;
// // function test(){
// //   var a = 1;
// //   console.log(b);;
// // }

// // test()
// // console.log(a);

// a = 1;
// function test1(){
//   // 局部变量
//   var b = 2;
//   console.log(a);

//   function test2(){
//     c = 3;
//     console.log(b);
//   }

//   test2()
  
// }

// test1()
// console.log(c);

// 函数就是一个 固定的功能段，被封装的过程，
// 实现一个固定的功能，在这个封装体中，有一个固定的入口和一个出口
// 入口就是参数，出口就是返回


